package com.trinity.uniquefees.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.trinity.campus.domain.CampusStudents;
import com.trinity.payment.domain.ListStudentBookDao;
import com.trinity.uniquefees.domain.bo.UfCourseBook;
import com.trinity.uniquefees.domain.bo.UfStudentBook;
import com.trinity.uniquefees.domain.vo.UfStudentBookVO;
import com.trinity.uniquefees.dto.DeptSemesterStuCourseDto;

import java.util.List;

/**
 * 订购教程名单Service接口
 *
 * @author 董诗攀
 * @date 2023-12-11
 */
public interface IUfStudentBookService extends IService<UfStudentBook> {

    /**
     * 查询订购教程名单
     *
     * @param csId 订购教程名单主键
     * @return 订购教程名单
     */
    public UfStudentBook selectUfStudentBookByCsId(String csId);

    /**
     * 查询订购教程名单列表
     *
     * @param ufStudentBook 订购教程名单
     * @return 订购教程名单集合
     */
    public List<UfStudentBook> selectUfStudentBookList(UfStudentBook ufStudentBook);

    public List<ListStudentBookDao> selectPaymentListDto(UfStudentBook ufStudentBook);

    /**
     * 根据班级查询
     * 查询订购教程名单列表
     *
     * @param book 班级学期教材
     * @return 订购教程名单
     */
    public DeptSemesterStuCourseDto selectUfDeptSemesterStuCourse(UfCourseBook book);

    public DeptSemesterStuCourseDto selectListStuCourse(String scheduleId);

    /**
     * 新增订购教程名单
     *
     * @param ufStudentBook 订购教程名单
     * @return 结果
     */
    public int insertUfStudentBook(UfStudentBook ufStudentBook);

    /**
     * 修改订购教程名单
     *
     * @param ufStudentBook 订购教程名单
     * @return 结果
     */
    public int updateUfStudentBook(UfStudentBook ufStudentBook);

    /**
     * 批量删除订购教程名单
     *
     * @param csIds 需要删除的订购教程名单主键集合
     * @return 结果
     */
    public int deleteUfStudentBookByCsIds(String[] csIds);

    /**
     * 删除订购教程名单信息
     *
     * @param csId 订购教程名单主键
     * @return 结果
     */
    public int deleteUfStudentBookByCsId(String csId);

    /**
     * 导入订购名单    学生 --课程名称 --- 教材名称--
     * @param list
     * @param listId
     * @param operName
     * @param students
     * @param course
     * @return
     */
    public String importBill(List<UfStudentBookVO> list, String listId, String operName, List<CampusStudents> students, List<UfCourseBook> course);
}
